Séminaire les mesures de l’économie
Deux sources principales de données en économie (ainsi qu’en sciences sociales en général)
Distinction importante, car pour les données d’enquêtes, les principes de la statistique (échantillonage, calculs des marges d’erreurs, tests statistiques) doivent être respectés, ce qui n’est pas (forcément) le cas des données administratives.
Un taux de réponse faible (<60%) indique que l’enquête a manqué une partie importante de la population ==> données récoltées ne sont pas représentatives.
“Declining response rates to the LFS (labour force surveys) have made the numbers so volatile that it is impossible to be sure whether employment is rising or falling from one quarter to the next — let alone how the labour market has evolved in the years since the pandemic.” “How flawed data is leaving the UK in the dark”, Financial Times
Exemple: données fiscales (qui permettent les mesures de distribution du revenu), certaines données du marché du travail (ex: Seco et le nombre de chômeurs inscrits), données sur les finances publiques…
Les données administratives ne sont pas récoltées à travers un processus d’échantillonnage. Par exemple, cela ne fait pas sens de calculer les intervalles de confiance pour le PIB ou la dette publique.
Mais cela ne veut pas dire que les données administratives sont exhaustives
La plupart des mesures de l’économie sont des séries temporelles (PIB, emploi, inflation…).
L’analyse des séries temporelles présente certaines particularités par rapport aux données en coupe (à un point donné dans le temps, aussi appelé “cross-sectional data”), notamment car elles ont une tendance temporelle (par exemple exponentielle).
Les séries temporelles ont la particularité de croître à un taux plus ou moins stable dans le temps.
Cela implique une croissance exponentielle
Exemple: imaginons une variable \(x\) qui croît à un taux constant de 3% par an. A \(t = 0\), \(x =2\). A \(t=1\), x augmente de \(2*1.03\) (0.03 étant le taux de croissance auquel on additionne 1):
\(x_{t=1} = 2*1.03\)
Pour \(t=2\), \(x_{t=2} = 2*1.03*1.03 = 2*(1.03)^2\)
Pour \(t=3\), \(x_{t=3} = 2*1.03*1.03*1.03 = 2*(1.03)^3\)
Ainsi de suite, pour la formule générale:
\(x_t = 2*(1.03)^t\). Il s’agit de la formule de croissance exponentielle: \(x_t = x_0 (1+g)^t\), avec \(x_0\) la valeur initiale, \(g\) le taux de croissance et \(t\) le nombre de périodes.
À partir de la formule pour la croissance exponentielle de X
\[x_t = x_0(1+g)^t\]
on peut trouver le taux de croissance:
\[g = \left(\frac{x_t}{x_0}\right)^{1/t}-1\]
Il s’agit du taux de croissance moyen composé de la série entre \(x_t\) (en dernière période) et \(x_t\)
Lorsque l’on calcule le taux de croissance entre deux périodes seulement (disons \(x_0\) et \(x_1\)), on retrouve la formule habituelle du taux de croissance (car \(t=1\)):
\[ g = \frac{x_1 - x_0}{x_0} = \left(\frac{x_1}{x_0}\right)^{1/1}-1 \]
À ne pas confondre avec la moyenne des taux de croissance:
\[ \bar{g} = \frac{1}{t}\sum_{i=1}^t{g_i} \]
g et \(\bar{g}\) sont identiques seulement si le taux de croissance est constant pour toutes les périodes t.
La transformation en logarithme (passer de \(x_t\) à \(log(x_t)\)) est très courante en économie, surtout avec des séries temporelles caractérisées par une croissance exponentielle.
Si \(x_t = x_0(1+g)^t\) est transformé en log et que nous isolons g, nous trouvons:
\[ log(1+g) = \frac{log(x_t)-log(x_0)}{t} \] Entre seulement deux période (par exemple d’une année à l’autre), \(t = 1\) et donc le taux de croissance peut être approximé facilement en prenant la différence en log. Quand \(g\) est entre -0.15 et 0.15, \(log(1+g)\) est une bonne approximation de \(g\).
Dans R:
library(maddison) # le package maddison permet d'importer des données de longue durée du PIB par habitant
library(tidyverse)
data <- subset(maddison,
year >= 1800 &
iso2c %in% c("FR", "US"))
data %>%
ggplot(aes(x = year, y = rgdpnapc, color = country)) +
geom_line()+
theme_minimal()+
labs(x = "",
y = "PIB par habitant (dollar US 2011)",
title = "Échelle normale (non-logarithmique)")L’une des fonctions les plus connues et estimées en macroéconomie est la fonction de consommation des ménages \(C\):
\[ C = c_0 + c_1W \]
Avec \(C\) le niveau de consommation des ménages (dans la monnaie du pays considéré), \(c_0\) le niveau de consommation lorsque les salaires \(W\) = 0. \(c_1\) est la propension marginale à consommer, qui est une composante clé du multiplicateur keynésien.
Cette fonction de consommation peut être estimée au moyen d’un modèle de régression linéaire simple. - “Simple”, car nous avons uniquement une variable explicative (les salaire \(W\)). - “linéaire”, car notre variable dépendante est numérique (la consommation \(C\)).
La régression linéaire simple prend la forme suivante:
\[ E[Y|X] = \beta_0 + \beta_1X_i + e_i \]
Avec \(E[Y|X]\) “l’espérance” (la moyenne) de Y, notre variable dépendante, en fonction des valeur de notre variable explicative \(X\). \(\beta_0\) l’ordonnée à l’origine et \(e_i\) le terme d’erreur. \(E[Y|X]\) est souvent écrit \(Y\) par simplicité.
==> Les régressions peuvent paraître compliquées à première vue ==> Une manière simple de “démistifer” les régression est de comprendre qu’il s’agit simplement de comparaisons de moyennes
\(\beta_1\) est le paramètre clé du modèle.
L’interprétation la plus courante de ce paramètre, qui est celle qui vous est enseignée dans vos cours de quanti, est que \(\beta_1\) est l’effet de X sur les valeurs moyennes Y lorsque X augmente de une unité Cela veut dire que \(\beta_1\) est l’effet marginal de x sur y, la valeur obtenue en prenant la dérivée de Y sur X:
\[ \frac{\delta E[Y|X]}{\delta X} = \beta_1 \]
==> Il s’agit de l’interprétation causale du coefficient du réggression (\(\beta_1\))
Le coefficient \(\beta_1\) peut être aussi compris comme une différence de moyenne prédite par le modèle entre deux valeurs de X.
Si \(X = 1\), <=> \(E[Y|X = 1] = \beta_0 + \beta_1\)
Et si \(X = 0\), <=> \(E[Y|X = 0] = \beta_0\)
Et donc \[E[Y|X=1] - E[Y|X=0] = \beta_0 + \beta_1 - \beta_0 = \beta_1\]
\(\beta_1\) est la différence entre la moyenne prédite des femmes et des hommes.
Même principe si la variable est numérique/continue
Exemple avec \(X_i\) le revenu de la personne \(i\) et \(Y=C\) la consommation. Prenons \(X_1 = 5000\) et \(X_2 = 5001\). Le coefficient \(\beta1\) est la différence entre \(X_2\) et \(X_1\).
\[E[Y|X_2 = 5001] - E[Y|X_1 = 5000] = \beta_0 + \beta_15001 - \beta_0 - \beta_15000 = \beta_1\]
\(\beta_1\) est donc la différence de consommation moyenne prédite par le modèle entre deux personnes ayant un revenu de 5001 et 5000. En d’autre termes, la différence de moyenne prédite entre deux personnes différant d’une unité.
Interprétation causale: \(\beta_1\) est l’effet marginal de X (effet lorsque X augmente de 1) sur les valeurs moyennes prédites de Y.
Interprétation en termes de comparaison: \(\beta_1\) est la différence des moyennes prédites de Y entre deux observations différant d’une unité.
==> L’interprétation en termes de comparaison est plus prudente que l’interprétation causale, pour laquelle il faut que les hypothèses du modèle soient respectées
library(kableExtra)
library(broom)
model = lm(data = macroch, # préciser le tableau dans lequel les variables sont présentes
formula = C_real ~ W_real) # la formule estimée doit prendre la forme Y ~ X
tidy(model) %>%
kable() | term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | 43.1846843 | 2.7815089 | 15.52563 | 0 |
| W_real | 0.7972749 | 0.0103511 | 77.02329 | 0 |
La fonction estimée est donc:
\[C = 43 + 0.797W\]
On voit clairement un pattern dans la distribution des données ==> pas d’indépendance des erreurs, ce qui est typiquement le cas des séries temporelles
Il y aussi clairement un problème d’hétéroscédasticité: la variance des erreurs n’est pas constante
Le plus souvent, régresser tel quel des séries temporelles (en niveau) va produire des modèles qui ne respectent pas l’hypothèse fondamentale d’indépendance des erreurs. Cela est un problème, car implique que notre coefficient de \(\beta_1 = 0.79\) est biaisé.
==> Cela vient du fait qu’il a une dimension temporelle dans nos variables, ces dernières sont aussi une fonction du temps \(t\), qui n’est pas prise en compte dans \(C = c_0 +c_1W + e_i\) (enfait, la dimension temporelle va se voire dans le terme d’erreur \(e_i\))
==> Autrement pour pouvoir modéliser des séries temporelles avec des régressions, il faut que ces séries soient “stationnaires”, c-à-d que leur moyenne doit être stable dans le temps.
Il existe des tests afin de tester la stationnarité (Test de Dickey-Fuller, test de Perron…)
La plupart du temps, les séries ayant une tendance temporelle (non-stationnaire) doivent être transformées en taux de croissance pour pouvoir être incluses dans une régression.
library(ggcharts)
macroch$year = 1960:2022
data_rates = tibble(year = 1961:2022, rate_c = diff(log(macroch$C_real)), rate_w = diff(log(macroch$W_real)))
plot1 <-
macroch %>%
ggplot(aes(x = year, y = C_real, color = "Consommation (niveau)"))+
geom_line()+
geom_line(aes(x = year, y = W_real, color = "Revenu des salariés (niveau)"))+
theme_minimal()+
labs(title = "Séries non stationnaires")+
theme(legend.position = "top")
plot2 <-
data_rates %>%
ggplot(aes(x = year, y = rate_c, color = "Consommation (taux de croissance)"))+
geom_line()+
labs(title = "Série stationnaire")+
theme_minimal()+
theme(legend.position = "top")
cowplot::plot_grid(plot1, plot2)==> régresser les taux de croissances au lieu des niveaux, pour corriger la non-stationnarité.
Au lieu de \(C = \beta_0 + \beta_1W\), nous avons: \(\%\Delta{C} = \beta_0 + \%\Delta\beta1W\)
\(\beta_1\) devient l’élasticité de la consommation par rapport au revenu: le pourcentage de changement de C quand W augmente de 1 point de pourcentage \(\beta_1 = \frac{\Delta}{}\) .